SELECT CASE এর ব্যবহার
ফোরট্রানে SELECT CASE স্টেটমেন্ট একটি শর্তযুক্ত সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত হয়, যেখানে একটি একক এক্সপ্রেশন বা ভেরিয়েবলকে বিভিন্ন মানের ভিত্তিতে পরীক্ষা করা হয়। এটি অনেকগুলো IF-ELSE স্টেটমেন্টের তুলনায় আরও পরিষ্কার এবং সহজভাবে ব্যবহৃত হতে পারে, বিশেষত যখন একাধিক সম্ভাব্য মান পরীক্ষা করার প্রয়োজন হয়।
SELECT CASE সাধারণত গাণিতিক, চরিত্র, বা অন্যান্য এক্সপ্রেশন বা ভেরিয়েবলের বিভিন্ন মানের ভিত্তিতে বিভিন্ন কার্যক্রম নির্ধারণ করতে ব্যবহৃত হয়।
SELECT CASE Syntax
SELECT CASE (expression)
CASE (value1)
! statements for value1
CASE (value2)
! statements for value2
CASE (value3)
! statements for value3
CASE DEFAULT
! statements for any other value
END SELECTএখানে:
expressionহচ্ছে যেটি পরীক্ষা করা হবে, যেমন একটি ভেরিয়েবল বা এক্সপ্রেশন।CASE (value)হলো এমন একটি শর্ত যা মেলে যদিexpressionএর মানvalueএর সমান হয়।CASE DEFAULTহলো একটি ডিফল্ট বিকল্প যা অন্য কোনো মানের জন্য ব্যবহার করা হয় যদি কোনCASEমিলে না যায়।
উদাহরণ: SELECT CASE
ধরা যাক, আমাদের কাছে একটি ইনপুট ভেরিয়েবল grade রয়েছে এবং আমরা তার ভিত্তিতে বিভিন্ন বার্তা প্রদর্শন করতে চাই:
PROGRAM GradeCheck
INTEGER :: grade
PRINT *, "Enter your grade:"
READ *, grade
SELECT CASE (grade)
CASE (90:100)
PRINT *, "Excellent!"
CASE (80:89)
PRINT *, "Good job!"
CASE (70:79)
PRINT *, "You passed."
CASE (60:69)
PRINT *, "Needs improvement."
CASE DEFAULT
PRINT *, "Invalid grade."
END SELECT
END PROGRAM GradeCheckএখানে:
- যদি
gradeএর মান 90 থেকে 100 এর মধ্যে হয়, তাহলে"Excellent!"প্রিন্ট হবে। - যদি
gradeএর মান 80 থেকে 89 এর মধ্যে হয়, তাহলে"Good job!"প্রিন্ট হবে। - যদি
gradeএর মান 70 থেকে 79 এর মধ্যে হয়, তাহলে"You passed."প্রিন্ট হবে। - যদি
gradeএর মান 60 থেকে 69 এর মধ্যে হয়, তাহলে"Needs improvement."প্রিন্ট হবে। - অন্য কোনো মানের জন্য
"Invalid grade."প্রিন্ট হবে।
SELECT CASE এর সুবিধা
- পঠনযোগ্যতা এবং পরিষ্কারতা: একাধিক
if-elseস্টেটমেন্টের তুলনায়SELECT CASEঅনেক বেশি পরিষ্কার এবং কোডে পড়া সহজ করে তোলে। - কোনো মানের তুলনা:
SELECT CASEস্টেটমেন্ট এক্সপ্রেশন বা ভেরিয়েবলকে একাধিক সম্ভাব্য মানের সঙ্গে তুলনা করতে সুবিধাজনক। - ডিফল্ট শাখা:
CASE DEFAULTব্যবহার করে আপনি এমন কোনো শাখা নির্ধারণ করতে পারেন যা সমস্ত অপরিচিত মানের জন্য কার্যকর হবে।
উন্নত SELECT CASE (Range Matching)
ফোরট্রানে SELECT CASE এর মাধ্যমে রেঞ্জের মানও পরীক্ষা করা যেতে পারে, যেমন:
PROGRAM RangeCheck
INTEGER :: x
PRINT *, "Enter a number:"
READ *, x
SELECT CASE (x)
CASE (1:10)
PRINT *, "The number is between 1 and 10."
CASE (11:20)
PRINT *, "The number is between 11 and 20."
CASE DEFAULT
PRINT *, "The number is out of range."
END SELECT
END PROGRAM RangeCheckএখানে, x যদি 1 থেকে 10 এর মধ্যে হয়, তাহলে "The number is between 1 and 10." প্রিন্ট হবে। যদি 11 থেকে 20 এর মধ্যে হয়, তাহলে "The number is between 11 and 20." প্রিন্ট হবে। অন্যথায় "The number is out of range." প্রিন্ট হবে।
উপসংহার
ফোরট্রানে SELECT CASE স্টেটমেন্ট একটি শক্তিশালী টুল যা একটি এক্সপ্রেশন বা ভেরিয়েবলকে একাধিক সম্ভাব্য মানের সঙ্গে তুলনা করতে সাহায্য করে। এটি বড় কোডবেসের মধ্যে পঠনযোগ্যতা এবং পরিষ্কারতা বাড়াতে কার্যকর, এবং এর মাধ্যমে কমপ্লেক্স শর্ত পরীক্ষা সহজে পরিচালনা করা সম্ভব হয়।
Read more